
//=======================================================================
//@xEŃGtFNgɑΉe쐬֐WłB
//@̃t@Cinclude_functionŎ荞ނA
//@KvȕRsyĎgpĂB
//=======================================================================

//=======================================================================
//  GtFNg֐̎荞
//-----------------------------------------------------------------------
#include_function".\effectdata\Obj_ShotEffect.txt"
//=======================================================================

//-----------------------------------------------------------------------
//  e쐬֐ [th06`th09.5]
//-----------------------------------------------------------------------
task CreateObjShot01_T01(X,Y,Speed,Angle,Graphic,DelayGraphic,Delay) {

    let obj = Obj_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak01(DelayGraphic, ox, oy, Angle, 16);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th10`th12]
//-----------------------------------------------------------------------
task CreateObjShot01_T02(X,Y,Speed,Angle,Graphic,DelayGraphic,Delay) {

    let obj = Obj_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak02(DelayGraphic, ox, oy, Angle, 16);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th12.5`th13]
//-----------------------------------------------------------------------
task CreateObjShot01_T03(X,Y,Speed,Angle,Graphic,DelayGraphic,Delay) {

    let obj = Obj_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak03(DelayGraphic, ox, oy, Angle, 24);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th14]
//-----------------------------------------------------------------------
task CreateObjShot01_T04(X,Y,Speed,Angle,Graphic,DelayGraphic,Delay) {

    let obj = Obj_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak04(DelayGraphic, ox, oy, Angle, 24);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th06`th09.5]
//-----------------------------------------------------------------------
task CreateObjShotA_T01(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak01(DelayGraphic, ox, oy, objangle, 16);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th10`th12]
//-----------------------------------------------------------------------
task CreateObjShotA_T02(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {

	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak02(DelayGraphic, ox, oy, objangle, 16);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th12.5`th13]
//-----------------------------------------------------------------------
task CreateObjShotA_T03(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {

	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak03(DelayGraphic, ox, oy, objangle, 24);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th14]
//-----------------------------------------------------------------------
task CreateObjShotA_T04(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {

	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak04(DelayGraphic, ox, oy, objangle, 24);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th06`th09.5]
//-----------------------------------------------------------------------
task CreateObjShotB_T01(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {

	DeleteTime --;
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak01(DelayGraphic, ox, oy, objangle, 16);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th10`th12]
//-----------------------------------------------------------------------
task CreateObjShotB_T02(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {

	DeleteTime --;
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak02(DelayGraphic, ox, oy, objangle, 16);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th12.5`th13]
//-----------------------------------------------------------------------
task CreateObjShotB_T03(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {

	DeleteTime --;
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak03(DelayGraphic, ox, oy, objangle, 24);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th14]
//-----------------------------------------------------------------------
task CreateObjShotB_T04(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,false);

    while(!Obj_BeDeleted(obj)) {

	DeleteTime --;
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak04(DelayGraphic, ox, oy, objangle, 24);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th06`th09.5]
//-----------------------------------------------------------------------
task CreateObjShotC_T01(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime,BombResist) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,BombResist);

    while(!Obj_BeDeleted(obj)) {

	DeleteTime --;
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak01(DelayGraphic, ox, oy, objangle, 16);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th10`th12]
//-----------------------------------------------------------------------
task CreateObjShotC_T02(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime,BombResist) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,BombResist);

    while(!Obj_BeDeleted(obj)) {

	DeleteTime --;
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak02(DelayGraphic, ox, oy, objangle, 16);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th12.5`th13]
//-----------------------------------------------------------------------
task CreateObjShotC_T03(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime,BombResist) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,BombResist);

    while(!Obj_BeDeleted(obj)) {

	DeleteTime --;
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak03(DelayGraphic, ox, oy, objangle, 24);
}

//-----------------------------------------------------------------------
//  e쐬֐ [th14]
//-----------------------------------------------------------------------
task CreateObjShotC_T04(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime,BombResist) {

    let obj      = Obj_Create(OBJ_SHOT);
    let ox       = X;
    let oy       = Y;
    let objspeed = Speed;
    let objangle = Angle;
    Obj_SetX(obj,X);
    Obj_SetY(obj,Y);
    Obj_SetAngle(obj,Angle);
    Obj_SetAutoDelete(obj,true);
    ObjShot_SetBombResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    Obj_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetBombResist(obj,BombResist);

    while(!Obj_BeDeleted(obj)) {

	DeleteTime --;
	ox = Obj_GetX(obj);
	oy = Obj_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	Obj_SetSpeed(obj,objspeed);
	Obj_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(Obj_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(Obj_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		Obj_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    Obj_SetAlpha(obj,0);
    ObjShot_ShotBreak04(DelayGraphic, ox, oy, objangle, 24);
}